﻿using System;
using System.Collections.Generic;
using System.Data;
using Meqs.Entity;
using System.Collections;

namespace Meqs.Logic.Interface
{
    public interface IStudentInfoLogic : ICommonLogic<StudentInfo, int>
    {
        /// <summary>
        /// 删除所有用户信息
        /// </summary>
        /// <param name="listUserId"></param>
        /// <returns></returns>
        int DeleteStudentInfo(List<int> listUserId);

        /// <summary>
        /// 修改所有用户信息
        /// </summary>
        /// <param name="listUserId"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        int ChangeStudentStatus(List<int> listUserId, int status);

        /// <summary>
        /// 重置用户密码，可批量
        /// </summary>
        /// <param name="listUserId"></param>
        /// <returns></returns>
        int ResetPassword(List<int> listUserId);

        /// <summary>
        /// 将List里面的学生的密码全部更改为strPwd
        /// </summary>
        /// <param name="strPwd"></param>
        /// <param name="listUserId"></param>
        /// <returns></returns>
        int ResetPassword(string strPwd, List<int> listUserId);

        /// 根据学生学号更新学生信息
        /// </summary>
        /// <param name="listUserId"></param>
        /// <returns></returns>
        //int UpdateByStudentCode(StudentInfo studentInfo);

        /// <summary>
        /// 导入学生数据
        /// </summary>
        /// <param name="listUserId"></param>
        /// <returns></returns>
        int ImportStudentInfo(string schoolMark, int clsID, DataTable dt, int opType);
        
        /// <summary>
        /// 学生登陆验证
        /// </summary>
        /// <param name="schoolMark"></param>
        /// <param name="stuCode"></param>
        /// <param name="pass"></param>
        /// <returns></returns>
        int CheckLogin(string schoolCode, string stuCode, string pass);

        /// <summary>
        /// 获取学生信息
        /// </summary>
        /// <param name="schoolMark"></param>
        /// <param name="clsID"></param>
        /// <returns></returns>
        IList<StudentInfo> GetStudentByCls(string schoolMark, int clsID);

        /// <summary>
        /// 根据学号姓名查找学生
        /// </summary>
        /// <param name="schoolMark"></param>
        /// <param name="param"></param>
        /// <returns></returns>
        IList<StudentInfo> FindStudentByCodeAndName(string schoolMark, string param);

        /// <summary>
        /// 获取学生信息
        /// </summary>
        /// <param name="schoolMark"></param>
        /// <param name="clsID"></param>
        /// <returns></returns>
        IList<StudentInfo> FindAll1(Hashtable ht);
    }
}